{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "complicated-voluntary",
   "metadata": {},
   "source": [
    "# Expanding window features"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "promotional-worcester",
   "metadata": {},
   "source": [
    "[Feature Engineering for Time Series Forecasting](https://www.trainindata.com/p/feature-engineering-for-forecasting)\n",
    "\n",
    "In this notebook, we demonstrate how to compute expanding window features using Pandas and Feature-engine.\n",
    "\n",
    "\n",
    "\n",
    "## Data set synopsis\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "876b948e-2e7f-4321-9ff8-1b9734f4be6f",
   "metadata": {},
   "source": [
    "We will work with the hourly electricity demand dataset. It is the electricity demand for the state of Victora in Australia from 2002 to the start of 2015. \n",
    "\n",
    "For instructions on how to download, prepare, and store the dataset, refer to notebook number 4, in the folder \"01-Create-Datasets\" from this repo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "hybrid-fever",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_context(\"talk\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "confirmed-things",
   "metadata": {},
   "source": [
    "# Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "intended-logan",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\n",
    "    \"../Datasets/victoria_electricity_demand.csv\",\n",
    "    usecols=[\"demand\", \"temperature\", \"date_time\"],\n",
    "    index_col=[\"date_time\"],\n",
    "    parse_dates=[\"date_time\"],\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d5252f36-7633-46f0-8f9b-d4707fac9330",
   "metadata": {},
   "outputs": [],
   "source": [
    "# For this demo we will use a subset of the data.\n",
    "data = data.loc[\"2010\":]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "functional-steal",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature\n",
       "date_time                                    \n",
       "2010-01-01 00:00:00  8314.448682       21.525\n",
       "2010-01-01 01:00:00  8267.187296       22.400\n",
       "2010-01-01 02:00:00  7394.528444       22.150\n",
       "2010-01-01 03:00:00  6952.047520       21.800\n",
       "2010-01-01 04:00:00  6867.199634       20.250"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "certified-occupation",
   "metadata": {},
   "source": [
    "# Computing expanding windows features using Pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e43e3387-8ef6-4a87-9972-94f1ddba5833",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a copy of the data.\n",
    "df = data.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "53526071-9764-452f-ae7a-1e81dcecc5f7",
   "metadata": {},
   "source": [
    "We want to compute the expanding:\n",
    "- mean\n",
    "- standard deviation\n",
    "- median absolute deviation\n",
    "\n",
    "The median absolute deviation is not implemented natively in Pandas so we have to create our own functions to calculate these statistics. Let's create a function to compute the median absolute deviation which is defined as: $MAD = median(|x_i - median(x)|)$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b4f26b7c-0bc5-43a5-aad2-f690f62a4e6a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a custom metric for the MAD\n",
    "def mad(x):\n",
    "    return np.median(np.abs(x - np.median(x)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8e069168-4106-4bdb-b08d-a22ddd979316",
   "metadata": {},
   "source": [
    "Let's compute the expanding window features!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "e0095646-701e-4266-bed4-eb83c1c27eef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand_expanding_window_mean</th>\n",
       "      <th>demand_expanding_window_std</th>\n",
       "      <th>demand_expanding_window_mad</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>8290.817989</td>\n",
       "      <td>33.418847</td>\n",
       "      <td>23.630693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>7992.054807</td>\n",
       "      <td>518.012283</td>\n",
       "      <td>47.261386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>7732.052986</td>\n",
       "      <td>670.294667</td>\n",
       "      <td>459.960119</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 05:00:00</th>\n",
       "      <td>7559.082315</td>\n",
       "      <td>697.542450</td>\n",
       "      <td>527.328810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>9463.656071</td>\n",
       "      <td>1752.022191</td>\n",
       "      <td>1307.193992</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>9463.643240</td>\n",
       "      <td>1752.004951</td>\n",
       "      <td>1307.102152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>9463.617965</td>\n",
       "      <td>1751.993833</td>\n",
       "      <td>1307.081377</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>9463.588045</td>\n",
       "      <td>1751.986027</td>\n",
       "      <td>1306.952418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-01 00:00:00</th>\n",
       "      <td>9463.567174</td>\n",
       "      <td>1751.972288</td>\n",
       "      <td>1306.899717</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     demand_expanding_window_mean  \\\n",
       "date_time                                           \n",
       "2010-01-01 01:00:00                   8314.448682   \n",
       "2010-01-01 02:00:00                   8290.817989   \n",
       "2010-01-01 03:00:00                   7992.054807   \n",
       "2010-01-01 04:00:00                   7732.052986   \n",
       "2010-01-01 05:00:00                   7559.082315   \n",
       "...                                           ...   \n",
       "2015-02-28 20:00:00                   9463.656071   \n",
       "2015-02-28 21:00:00                   9463.643240   \n",
       "2015-02-28 22:00:00                   9463.617965   \n",
       "2015-02-28 23:00:00                   9463.588045   \n",
       "2015-03-01 00:00:00                   9463.567174   \n",
       "\n",
       "                     demand_expanding_window_std  demand_expanding_window_mad  \n",
       "date_time                                                                      \n",
       "2010-01-01 01:00:00                          NaN                     0.000000  \n",
       "2010-01-01 02:00:00                    33.418847                    23.630693  \n",
       "2010-01-01 03:00:00                   518.012283                    47.261386  \n",
       "2010-01-01 04:00:00                   670.294667                   459.960119  \n",
       "2010-01-01 05:00:00                   697.542450                   527.328810  \n",
       "...                                          ...                          ...  \n",
       "2015-02-28 20:00:00                  1752.022191                  1307.193992  \n",
       "2015-02-28 21:00:00                  1752.004951                  1307.102152  \n",
       "2015-02-28 22:00:00                  1751.993833                  1307.081377  \n",
       "2015-02-28 23:00:00                  1751.986027                  1306.952418  \n",
       "2015-03-01 00:00:00                  1751.972288                  1306.899717  \n",
       "\n",
       "[45240 rows x 3 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = (\n",
    "    df[\"demand\"]\n",
    "    .expanding()  # Use `expanding` rather than `rolling`.\n",
    "    .agg([\"mean\", \"std\", mad]) # Pick statistics.\n",
    "    .shift(freq=\"1H\") # Lag by 1 hour to avoid data leakage.\n",
    ")  \n",
    "\n",
    "result = result.add_prefix(\"demand_expanding_window_\")\n",
    "\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba8edefa-89dd-4848-9b12-71f6384a3298",
   "metadata": {},
   "source": [
    "Let's join this back to the original dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "24dee532-5f4a-4838-a245-59e3734cb47d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "      <th>demand_expanding_window_mean</th>\n",
       "      <th>demand_expanding_window_std</th>\n",
       "      <th>demand_expanding_window_mad</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "      <td>8290.817989</td>\n",
       "      <td>33.418847</td>\n",
       "      <td>23.630693</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "      <td>7992.054807</td>\n",
       "      <td>518.012283</td>\n",
       "      <td>47.261386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "      <td>7732.052986</td>\n",
       "      <td>670.294667</td>\n",
       "      <td>459.960119</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>28.350</td>\n",
       "      <td>9463.653128</td>\n",
       "      <td>1752.041445</td>\n",
       "      <td>1307.141316</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>22.200</td>\n",
       "      <td>9463.656071</td>\n",
       "      <td>1752.022191</td>\n",
       "      <td>1307.193992</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9463.643240</td>\n",
       "      <td>1752.004951</td>\n",
       "      <td>1307.102152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9463.617965</td>\n",
       "      <td>1751.993833</td>\n",
       "      <td>1307.081377</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8519.368752</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9463.588045</td>\n",
       "      <td>1751.986027</td>\n",
       "      <td>1306.952418</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature  demand_expanding_window_mean  \\\n",
       "date_time                                                                     \n",
       "2010-01-01 00:00:00  8314.448682       21.525                           NaN   \n",
       "2010-01-01 01:00:00  8267.187296       22.400                   8314.448682   \n",
       "2010-01-01 02:00:00  7394.528444       22.150                   8290.817989   \n",
       "2010-01-01 03:00:00  6952.047520       21.800                   7992.054807   \n",
       "2010-01-01 04:00:00  6867.199634       20.250                   7732.052986   \n",
       "...                          ...          ...                           ...   \n",
       "2015-02-28 19:00:00  9596.777060       28.350                   9463.653128   \n",
       "2015-02-28 20:00:00  8883.230296       22.200                   9463.656071   \n",
       "2015-02-28 21:00:00  8320.260550       18.900                   9463.643240   \n",
       "2015-02-28 22:00:00  8110.055916       18.900                   9463.617965   \n",
       "2015-02-28 23:00:00  8519.368752       18.900                   9463.588045   \n",
       "\n",
       "                     demand_expanding_window_std  demand_expanding_window_mad  \n",
       "date_time                                                                      \n",
       "2010-01-01 00:00:00                          NaN                          NaN  \n",
       "2010-01-01 01:00:00                          NaN                     0.000000  \n",
       "2010-01-01 02:00:00                    33.418847                    23.630693  \n",
       "2010-01-01 03:00:00                   518.012283                    47.261386  \n",
       "2010-01-01 04:00:00                   670.294667                   459.960119  \n",
       "...                                          ...                          ...  \n",
       "2015-02-28 19:00:00                  1752.041445                  1307.141316  \n",
       "2015-02-28 20:00:00                  1752.022191                  1307.193992  \n",
       "2015-02-28 21:00:00                  1752.004951                  1307.102152  \n",
       "2015-02-28 22:00:00                  1751.993833                  1307.081377  \n",
       "2015-02-28 23:00:00                  1751.986027                  1306.952418  \n",
       "\n",
       "[45240 rows x 5 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.join(result, how=\"left\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9cf1d66b-cdbe-437d-8876-e4c70208d2b0",
   "metadata": {},
   "source": [
    "# Using Feature-engine"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5339d62-2669-4160-97e3-635e1ccadf0d",
   "metadata": {},
   "source": [
    "Let's see how we can extract window features using the Feature-engine library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "2da697ad-466f-4327-ab1b-4f000d9d2596",
   "metadata": {},
   "outputs": [],
   "source": [
    "from feature_engine.timeseries.forecasting import ExpandingWindowFeatures"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9c7f5c53-5a75-41fd-af42-09c73131b003",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a copy of the data.\n",
    "df = data.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b566e12e-53ba-40a3-8d70-d2b12dd085cf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "      <th>demand_expanding_mean</th>\n",
       "      <th>demand_expanding_std</th>\n",
       "      <th>temperature_expanding_mean</th>\n",
       "      <th>temperature_expanding_std</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>21.525000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "      <td>8290.817989</td>\n",
       "      <td>33.418847</td>\n",
       "      <td>21.962500</td>\n",
       "      <td>0.618718</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "      <td>7992.054807</td>\n",
       "      <td>518.012283</td>\n",
       "      <td>22.025000</td>\n",
       "      <td>0.450694</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "      <td>7732.052986</td>\n",
       "      <td>670.294667</td>\n",
       "      <td>21.968750</td>\n",
       "      <td>0.384802</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>28.350</td>\n",
       "      <td>9463.653128</td>\n",
       "      <td>1752.041445</td>\n",
       "      <td>16.277680</td>\n",
       "      <td>5.616737</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>22.200</td>\n",
       "      <td>9463.656071</td>\n",
       "      <td>1752.022191</td>\n",
       "      <td>16.277947</td>\n",
       "      <td>5.616962</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9463.643240</td>\n",
       "      <td>1752.004951</td>\n",
       "      <td>16.278078</td>\n",
       "      <td>5.616969</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9463.617965</td>\n",
       "      <td>1751.993833</td>\n",
       "      <td>16.278136</td>\n",
       "      <td>5.616920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8519.368752</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9463.588045</td>\n",
       "      <td>1751.986027</td>\n",
       "      <td>16.278194</td>\n",
       "      <td>5.616872</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature  demand_expanding_mean  \\\n",
       "date_time                                                              \n",
       "2010-01-01 00:00:00  8314.448682       21.525                    NaN   \n",
       "2010-01-01 01:00:00  8267.187296       22.400            8314.448682   \n",
       "2010-01-01 02:00:00  7394.528444       22.150            8290.817989   \n",
       "2010-01-01 03:00:00  6952.047520       21.800            7992.054807   \n",
       "2010-01-01 04:00:00  6867.199634       20.250            7732.052986   \n",
       "...                          ...          ...                    ...   \n",
       "2015-02-28 19:00:00  9596.777060       28.350            9463.653128   \n",
       "2015-02-28 20:00:00  8883.230296       22.200            9463.656071   \n",
       "2015-02-28 21:00:00  8320.260550       18.900            9463.643240   \n",
       "2015-02-28 22:00:00  8110.055916       18.900            9463.617965   \n",
       "2015-02-28 23:00:00  8519.368752       18.900            9463.588045   \n",
       "\n",
       "                     demand_expanding_std  temperature_expanding_mean  \\\n",
       "date_time                                                               \n",
       "2010-01-01 00:00:00                   NaN                         NaN   \n",
       "2010-01-01 01:00:00                   NaN                   21.525000   \n",
       "2010-01-01 02:00:00             33.418847                   21.962500   \n",
       "2010-01-01 03:00:00            518.012283                   22.025000   \n",
       "2010-01-01 04:00:00            670.294667                   21.968750   \n",
       "...                                   ...                         ...   \n",
       "2015-02-28 19:00:00           1752.041445                   16.277680   \n",
       "2015-02-28 20:00:00           1752.022191                   16.277947   \n",
       "2015-02-28 21:00:00           1752.004951                   16.278078   \n",
       "2015-02-28 22:00:00           1751.993833                   16.278136   \n",
       "2015-02-28 23:00:00           1751.986027                   16.278194   \n",
       "\n",
       "                     temperature_expanding_std  \n",
       "date_time                                       \n",
       "2010-01-01 00:00:00                        NaN  \n",
       "2010-01-01 01:00:00                        NaN  \n",
       "2010-01-01 02:00:00                   0.618718  \n",
       "2010-01-01 03:00:00                   0.450694  \n",
       "2010-01-01 04:00:00                   0.384802  \n",
       "...                                        ...  \n",
       "2015-02-28 19:00:00                   5.616737  \n",
       "2015-02-28 20:00:00                   5.616962  \n",
       "2015-02-28 21:00:00                   5.616969  \n",
       "2015-02-28 22:00:00                   5.616920  \n",
       "2015-02-28 23:00:00                   5.616872  \n",
       "\n",
       "[45240 rows x 6 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create window features using the transformer.\n",
    "transformer = ExpandingWindowFeatures(\n",
    "    variables=[\"demand\", \"temperature\"], \n",
    "    functions=[\"mean\", \"std\"], \n",
    "    freq=\"1H\" # Shift results back by 1 hour to avoid data leakage.\n",
    ")  \n",
    "\n",
    "df = transformer.fit_transform(df)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b4a21c1-6b98-497a-a81d-6b3ae417c8bd",
   "metadata": {},
   "source": [
    "Let's look at the expanding window mean of the demand."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "71e2b068-c99e-4827-8aba-72f84d078f64",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Time')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3IAAAHTCAYAAABiCCqDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAADWKUlEQVR4nOzdd3xUVdrA8d+TkAaB0BQRRRSwd11dde1d176uWxV3XRXLvuq6ltUVsWFv2F0Fe0VBEUVEkCJFeu8ktABJIL3PnPePe2eYTKb3SZ7v5xOYuXPm3DN37tx7+hFjDEoppZRSSiml0kdGshOglFJKKaWUUio8WpBTSimllFJKqTSjBTmllFJKKaWUSjNakFNKKaWUUkqpNKMFOaWUUkoppZRKM1qQU0oppZRSSqk0owU5pZSKgogYERkZbFs6EZGRIhKXtWlEZLKIFMYjbhUbInKkiEwUkZ32ufxgjOI9zY5vUCzii4dozv14/m7C1V5/Z+lwjikVSx2SnQClVPoTkdOASQGCOIwxer1RKsWJSAdgFJAF/BcoBxYlM03hEpF+wCBgtDFmQZLTcilwpDHmwWSmQynVNmnGSikVSx8B43xsdyY6IUmWBziSnYgo/AO4MdmJUEmxn/33L2PMS8lOTIT6AUOAQmBBmO+N5tz39d5LgWuAByOMUyml/NKCnFIqluYZY95PdiKSzRhTn+w0RMMY0wQ0JTsdKin2sP/fkdRUJJCICNDJGFMdzbmvvxulVKLpGDmlVEKJyJP2GIa/em0/XETqRGSSiGTY2x60wx4iIi+KyFY7zCwROdNH3FeJyFciskFEGkSkVERGi8jhPsIW2uNIDhSRb0SkSkQqRORzEdnDR/hDROQ7EakRkR0i8oGI7O7nM/odNyciJ4jIT3Y8ZSLyPxHJ9xHHqSIyw/68W0XkBTsNQccs2e81InKt1/aV9vbLvLZvFZFvPZ63Guvj2iYiBSLyqohsF5F6EZkuIsf7SEM3EXnT/g5q7GN9TIA0X2rHVSMi1fbjS7zCjLD3meux7QQ7XTtc5429/Xx7+1VBjtUgO9yZIvKAiBR5nGO/9jie0+y0FYvIf/3EdayIfGl/5gb7eN9nd1f0DHecfTxXiUitfe5N9/5eIjnuAT5nPxF5T0S22WlbKyKPiUhHjzCTgZ/spyPs/RqxuioGirtARJ4QkTV23CUi8pGI7Bdi2kREBovIXPt4VIt1HTjdT/gr7POp3A6/UqzrQ7ZYY6Nc3bw9P8Nk+73uMVQicrOILAPqgTvt132OcxORPex9rLM/43YRmSAiZ3uEafFee5/X2I+Nx98gsX7PRkQG+thXbxFpFpG3Qzh24f7OQj1HJ4t1jexnhy8Xa8zkSBHJF5EMEfmPiKy3z8d5InKSVxwZdtxTxLrGNIp1bX5VRHp4he1nH48HReS3IvKLHW+xiDzlnT77PZeIyHw73EYReRirS7BS7Ya2yCmlYqmjiPT0sb3RGFNpP74POAV4RURmGmNW25nJT4Aa4C/GGO+umO9idVV8AugM3AB8JyLnG2N+8Ah3C1AGvAFsBfoD1wPTReRoY8xqr3j7AJOBL4F/A0fYcXcBznEFEpF9galADvASsBG4CPgupKOyy5HAWGAE8CFwGvB3rK6n13vs7zfA98BO4HGscUq/B1pklAKYAdQBZ9j7QkT2Ava393UG1mdGRA4BegE/hhj3eKAEeAjoAdwBfCMi+xpjquw4s+xwvwLeA2ban/0HrO+nBRG5CXgZWGHHC/YYJxG5wRjzhr3tR3v7ScBEe9uZ9mfqBhwFzLW3nwEYAo/d9PQ4kAm8AGQD/wK+F5GrgbewzqkPsL6Hh0RkvWfrs4hcCHwBrAGewWrROsH+PEcCV3rs6zLgQOBToAjrOF4DfCEifzbGfOgjfUGPuz8isg8wGygAXgFWY5179wIniciZxphm4FFgOvAf+/NOtaMoCRB3AfAz0Bd4G1gK9AZuAmaJyLHGmKJA6cM6R/4IfI51vuYAfwYmiMjlxpivPPb3qJ2+ZcBzQDHW7/wK4AFgCvCYj8+wzWuft2EdxzexrhUbA3zGfljHpRfWtWgO0An4NXAWMMHPWx/FqjA/GfCsuPrZjuOfwN+wvgdP12Cdi//zlyY7XeH+zsI5R7E/449Yhft77P38Dci14z8eGI5VeLoT+FpE9vE4H7OxrqujgDFY1/dfYV3zfiMixxhjGr32eQHWufMa1vl0iR33Tqzv1fVZLrPjLbTT3wxcC1wY6Jgp1eYYY/RP//RP/6L6w8oUmgB/Y73C74tVOJmLdbN/yw53kVe4B+3ts4Bsj+17AdXAcq/wnXyk7SCgAXjFa3uhHffvvba/bG8/wGPbh/a20z22CVZhyAAjveLwt80JHO+1/Rus7lj5HttmY7US7OexLQsrM2mAB0P4TiYAmzyeX42V2fkQWOax/VY7zmM8to20bg8t4htph/M+jlfa22/w2Ha9vW2oV9jb7O2FHtu62d/lGqCLx/YuwFqgCuhqb+tjv/9Rj3A/YmUSK4G7PLbPBRaHcJwG2XHO8zrHLra3NwHHemzPxio8zPDYlotVGJgCdPCK/3Y7ntOCnKcdgZWe3024xz3AZ/zADnuB1/an7O1/9/FbHhTib/8FrEqDI7y272N/JyMDxY1VqDXA9V7v74BV2FkPiL3tODvsj0CuV3jxCOf3M3i8tgPY3cfrI2l97o+z33Ouj/AZofxu/By7n4EtQKbX9lXe54Gf94fzOwv3HJ1sb/u3V9gvsK5jc4AsH78Xz+uAAHk+0v13vK69WOMaDVZhr59XHEuAYo9tmcAGoBTo6bG9AKtiJOTzV//0L93/tGulUiqW3gDO9vF3n2cgY8x6rEzI0ViZsr8BLxpjvvYT73PGo+bWGLMJK3N6oIgc5LG9BtxdtbrYrYMlWBlkX93QthhjPvXa5mqZGmjHlYHV+jbHGONu3THGGOBJP+n1Z4YxZpaP/XXAysggIr2waq3HGGPWeeyvCSvTHKofgT4icoD9/Ayswsoo4CAR6W1vPx2rtnt+iPE+52M/YB8v26VYLajPeIV9FStz7+lsrJr/F82uVlvsxy8C+VitHhhjNmNlcs8AEKuL5QlYrRI/YbXOISJdsVoYQm1lBHjVtGwdcLXkzDLGzPFIVyNWQdvz856N1VozAugqIj1df+ya/OccjzhqXI9FpKPdzayjnd6DRKSLj/SFctxbsc/fi4H5xhjviYiGYWXKW3XpDIWICFbL2RRgs9fnrsFqITonUBzAX7AK66O93t8V+Brrd+H6jH+2/7/XeI1DNbYwkv+uMWZ7sEAi0h04D/jOGDPe+3XTuvdAON7Aar28wGN/p2B93rdCeP+lhPc7C/kctTmwWtw8TcUqXL1mX5M8t4PH+Wh/JXX258oUka72/lznrq9r8mhjTKFnHFit6nvIri7oxwB7AyOMMaUeYSuwWvKUaje0a6VSKpZWm5ZdHf0yxnwqIhdjZc6WAHcFCL7cx7Zl9v/7uV4XkaOAh7Fq3Tt5hV/vI451Pra5uiS5xnDsjlWYWBEgDaEKZX/72v+v9BHW1zZ/XJmlM+z3nY41q+gkrBrrM0TkI+BU4KcwMqQtPoMxpszKz7vTD9Z3UuxZMLPDNojIOqxWOBfX513qY1+ubZ5jrX4ErhORzlgF3lx7Ww7wiIhkY33/GYRXkPP+XDvtz+XrvNlJy8/rqkwINKapl+uBWGMrH8HqNuZrnGVXWmfEQznuvuyGdf62Or7GmB0iUkzL4xuO3ez9n4P/7pfBzquDsLpLe3d99NQLqwA/EOvcXRheMn1aFWK4AVgFl1ArOsLxCfA8VguVqxLr70AjVhfOYML5nYV1jtqKvQvMWOc+eP0uPH4v3mPffo/VTfkoWo9f60Zrwa6R1ew6X2NxTVYqrWlBTimVFHaryW/sp3tiZWj9jlMJIb6+WC0DlViFuZVYrQIGK7PUakIRAi8RIJGmJYBE7m8O1rE4Q0QmYI1h+tHOvC/Ear1aDnQnjAKPMcbfZ4jH8fLlR6wp3k/Bao3bYoxZISI5WK1av8YqvDrYNXFHKPx9rlCWkXB99n/jf7r7LeBuxfoeK2P9Atb3VGHv51rgT/iYiCwFjnugff+ANX410jhKsD63P0s8Hhv7L1q1MYgjKsaYOhF5H7jBbomvA34HfGWM8TsuMUIhn6MeAp37Qc9HEbkcq7A6G/g/rOt7PVbXyO/wPeFeoq/JSqU1LcgppZLlLayxbrdijdV5X0TO8JNhPYjWtfAH2/+7anAvwyqsXezZBRLA7rrWEGE6S7BqgQ/08drBPrZFq9D+/wAfr/na5pMxxiEiU7Ba4s7CquWfZr88ESvD6GqlCaflKhTrgHNEpItna4Fd2NqPXbX6rrAAh7BrAhMX7+8YdrUonolVkHOlfRHWmJkzsT7zfGNMedSfJDSuSXRqQmiRPhxrUp2HjDFDPF8QkevikLYSrK6Lh3i/ICLdsLr2LYgi7nKssY0htcT7sBprEp6ZxpjqIGFXAedjHb/ZAcLFoqDnssaO78gI3x8sLW8AN2NNcFKBVRkRSrdKCO93Fs45Git/xSq4nW6McRecRcTXtTQcrutBoq7JSqUsHSOnlEo4EbkRuBx4xFiLDt+J1cJyv5+33G53mXO9fy+sGvyVxhhXt0tXAbBFra2I/INda2OFzS5YjgWOFY/p0O2WlUDdQSPd31asVppLxGP6dnuGuv8LM7ofsboj/RMro1zrsX0frLGJ24wxvro1RmMMVq37v7y2D8aaxMTTBKyW01vt7pIA2I9vxSpEu2cFtMfELAZ+CxyLXZDzGEtzJVahJdaF00DGA9uBe+wxVS2ISJ7HZ/N3nh5KhGPVArG7zH4NHCUi53m9fA9WPuDLKOL+ADhORH7nK4z4WaLDw7t2Gob5eb9ndz/XbJ6PeV4PPMK6jqmrQNjquwiXMWYH8C1wvoicFWCf/lTb4XymxRizCKtQ+jesbpUbsFpsQxHO7yycczRWHFgFWc9lQQT/1/lQzQU2AdeKxyzJ9tjSSBdzVyotaYucUiqWjhaRv/h5bbQxptrOsD6L1Q3yYQBjzMtircf0XxGZaIyZ5vXeDsBUe0xXZ6ybdR5WAcXlW6zuUu+JyEtYtdEnYU0ksJbornf3Y7UEjBWR4ViZiIuwxgjFw51YhZefReQVrJr632PNmAihtzi4CjMHYXVxcpmCNYPlwcDHUae2tRFYk9k8INbSDTOwxshcidd3YYwpF5G7sGYLnSW71t8bhDU+6QZ7EgNPP2LNzOd67Ln9Sh/b48oYUyPWMgWjgZVirf+1Bmus24FYlRaXYc0EuByrJfQusZbdWInVInUDVgHV7xpgUfgP1mQXo+3zaQ1WxclVWOfCO1HEfR/W7+xTEfkUa4KTRqyKgguwMt2D/L3ZGPO5iIwAbhGRo7EqTUqxWutPwDoH9rPDzhaRJ4C7gXki8gnWTIz7YrUwH4fVQrgMqxXyJhGptbdtN8ZEek7cgjXD5Lci8o79mfKwJusotNPjz0z7/a+IiGuG2ln2hE8ub7BrqYGhYYxXDed3Fs45GiufYy0L8aOIvIs1Ru5SrFbHiNm9DW7HWr5jtoi8iXU9+xvWeLq+0cSvVFpJ1PSY+qd/+td2/wi+/IDBypDlYY13KQP28oqjO9YYiiKgm73tQfu9h2DNnrYVq6vObOBsH+k4Bav7YBVW5u0b4FCszEmhV9hCYHKAzzLIa/thWDXlNVhTl3+ANa7PEPryAyN97G8QXlN/29vPwMoE1tuf+wWsjKPBY5r9IN+La/yRAU72es21lME/fLxvJOFNo+7r83bH6iJWZh+zyVgtaK2+Czv8ZViZ5Rr772fgUj/7u8je51qv7a7JMBqBjiEeI5/HP8h35vNY2Ofa+8BmOw3b7M/xX6C7R7h9gM/s76bWPp8vY9f53i/S4x7gc+6LtdbYdjtt67DW5eroFc7n+R8k7o72Z1yMNc6rCqvA+iYey20EihurG95UrHGd9Vi/zy+Aq3yE/aN9/lbZ58oKrHGwnstHXIA1S2u9vc/JoXy+AN9tH6wZETd4fLffA2cG+d1kAE9jVf44fO0ba2Im1zjJfUI97hH+zkI9R/29fxBh/F6Af2AVrOuxlu14w05zi7DsWn7gQR/xPojX78LefjlWt+AGrHvHw1gVFmGdv/qnf+n851pzRSmlUo6IPAgMAfY1HlNSt1cicgVWLfcfjTHxaElTSiWYPaatGPjFGHNustOjlEofOkZOKaVSjFhyvbZlAXdgdSGanIx0KaXi4s9YU/G/keyEKKXSi46RU0qp1JMDFInIB1hjqHpgjWc6HHjCWBOiKKXSmIhchNXN9kGs7oejk5kepVT60YKcUkqlnias8X2XYE0PL1gFupuNMa8kM2FKqZgZjrWG5lzgOuN/rUCllPJJx8gppZRSSimlVJrRFrkkEJFmrPGJlcHCKqWUUkoppdqlLoDTGOOzzKYtckkgIk5ACgoKkp0UpZRSSimlVAqqqKgAa1kTnxNUaotcclQWFBQUlJeXJzsdSimllFJKqRTUtWtXKioq/Pbg0+UHlFJKKaWUUirNaEFOKaWUUkoppdKMFuSUUkoppZRSKs1oQU4ppZRSSiml0owW5JRSSimllFIqzeislUopFWfGGEpLS6mvr8fpdCY7OUqpNJSRkUGHDh3o0qULnTp1SnZylFIpQAtySikVR8YYNm/eTFVVFTk5OWRmZiY7SUqpNNTU1ERtbS3l5eV07tyZPffck4wM7VilVHumBTmllIqj0tJSqqqq6NWrF927d092cpRSaczpdFJWVkZpaSkVFRV069Yt2UlSSiWRVuUopVQc1dfXk5OTo4U4pVTUMjIy6NmzJ9nZ2VRXVyc7OUqpJNOCnFJKxZHT6dTulEqpmBEROnTooONtlVJakFNKKaWUUkqpdKMFOaWUUkoppZRKM1qQU0oppZRSSqk0owU5pZRSMffggw8iIslORtwUFhYiIowcOTLZSVFKRcgYg9Npkp0MpSKmBTmllFJKKdWuGGP445szOeu5n6hvciQ7OUpFRAtySimllFKqXdlcXsfMdTtYV1LDt0uKk50cpSKiBTmllFJKKdWuGI8elQ5dyUGlKS3IKaWUisq0adP41a9+RW5uLv379+f111/3GW7EiBEcffTR5OXl0bNnT6655hq2bdvWIky/fv249NJLmTBhgjvs0UcfzezZswF455132H///cnNzeXUU09l/fr1Ld4/depUrrzySvr27UtOTg577703t99+O3V1dS3CDRo0iK5du7Jx40Yuvvhi8vPz2W233bjzzjtxOFp2syovL2fQoEEUFBTQtWtXrrnmGsrLy6M8akqpVLG8uDLZSVAqIlqQU0opFbHFixdzzjnnUFJSwtChQ7n22msZMmQIX375ZYtwQ4cO5brrruPggw/mueee4+abb2bMmDGcfvrprQpZK1as4Oqrr+bSSy/l0UcfZdOmTfz2t7/lrbfe4rHHHuOGG27g7rvvZtasWVx33XUt3vvZZ59RW1vL4MGDGT58OOeeey7Dhw/n6quvbpX2pqYmzjnnHHbffXeefvppTjnlFJ555hneeOMNdxhjDJdccgnvvfcef/3rX3nkkUfYtGkT11xzTQyPolIqmd6atj54IKVSUIdkJ0AppdqbZoeT4or6ZCfDrXdBLh0yI6vXe+CBBxARpk+fTp8+fQC44oorOOyww9xhCgsLefjhh3nyySf517/+5d5+/vnnc+KJJ/LOO+9w4403urevXLmSWbNmcdxxxwGw1157cdVVV/Hvf/+b1atX06NHD8AqiA0bNoyNGzey9957A/DEE0+Ql5fnjuv6669nwIAB/Oc//2HDhg307dvX/VptbS1XX3019957LwA33ngjRx99NG+99RaDBw8G4KuvvmLKlCk8++yz3H777QAMHjyY008/PaLjpZRKDUYnq1RtgBbklFIqwYor6jn5yUnJTobb1LtOZ+/uHcN+n8PhYPz48VxxxRXuQhzAQQcdxLnnnsu4ceMA+PLLLzHGcPnll1NaWuoON2DAAHr37s3kyZNbFOQOP/xwdyEO4Pjjjwfg4osvdhfiPLevX7/eXZDzLMTV1NRQV1fHiSeeiDGG+fPntyjIAdxwww0tnp988sm899577ufjxo0jOzu7RbjMzExuvfVWpk6dGuqhUkqlibs+X0hVfTMv/+loMjLa7hIqqm3QrpUpoKq+iW8XF1PT0JzspCilVMhKSkqoq6tj4MCBrV474IAD3I9Xr16N0+lkv/32Y7fddmvxt2XLFkpKSlq817uwVVBQAOAurHlv37lzp3vbhg0bGDRoEN27d3ePezv11FMBqKioaPH+/Px8unfv3mJbt27dWsRXVFREnz596NixZUHX8/MppdJPtY8819qSaj6ds4lvl2xl2ppSH+9SKrVoi1wKuP7ducxYV8Y5B/fijauPTXZylFJx1rsgl6l3pU7XvN4FuXGN3+l0kpmZybfffutzkfBu3bq1eJ6ZmekzHn/bjd1HyuFwcPbZZ7Njxw7uvvtuDjzwQDp16sTmzZsZNGgQTmfLqen8xaeUavseGLOk1baGpl3XiNpGXVtOpT4tyKWAGevKAPh+2bYgIZVSbUGHzIyIujKmmt122428vDxWr17d6rWVK1e6H/fv3x+Hw8HAgQPp169f3NKzePFiVq1axTvvvNNicpMJEyZEHOc+++zDpEmTqK2tbdEq5/n5lFLpZ07RzuCBlEpx2rVSKaVURDIzMzn33HP54osv2Lx5s3v78uXLGT9+vPv5ZZddRkZGBg899FCrOJxOJzt27IhZemBXC53r8QsvvBBxnBdccAGNjY0tllRwOBwMHz488oQqpdKAzoaiUp+2yCmllIrY0KFD+e677zjppJMYPHgwzc3NDB8+nEMOOYRFixYB1qQmDz30EPfffz9r167loosuolOnTqxdu5ZRo0Zx3333tVpGIBIHHngg/fv3584772Tz5s106dKFUaNGtRjzFq6LLrqIk046iTvvvJO1a9dy0EEH8cUXX7Qab6eUSn8+en4rldKS2iInIr1F5HERmSQiVSJiROQ0H+FyReQ/IrJcRGpFZKOIfCgi+/sI21VE3hCREhGpEZEfReRIP/u/WETmiUi9iGwQkSEi0qpwG06cSinVnhx++OGMHz+enj178sADD/D2228zdOhQLrvsshbh7rvvPj755BOampoYMmQId911F99++y2XXnopZ599dkzSkpWVxddff82RRx7JsGHDGDp0KAMHDuTdd9+NOM6MjAy++uor/vznP/Pee+9x33330adPH955552YpFkplTp0SQKVbsQk8ay1C22TgDXAduBE4HRjzGSvcJ8BlwJvAPOBvYCbsQqiBxljttvhMoCpwGHA00AZcBPQBzjGGLPWI87zgW+AH4FP7PfcDLxijLnVI1zIcYbxucsLCgoKysvLAeh3zzfu1wofvzDc6JRSKayoqAiwxloppVQs6HUlep55L7DyX8u2VHLBi9ayIq/95WjOO7R3MpKmlFvXrl2pqKioMMZ09fV6srtWzgV6GmPKRORS4EvvACLSC/gd8LQx5t8e2+cAXwMXAiPszb/DKgxeZowZbYf7FFgFDAF2jX63CmXzgXONMQ47bCVwr4i8aIxZHUGcSimllFIqDWnXSpVuktq10hhTZYwpCxKsi/2/95SOW+3/6zy2/Q7YAozx2EcJ8ClwqYhkAYjIwcDBwOuuQpztFaxjckW4cSqllFJKKaVUoqTDrJXrgY3Av0TkIhHZS0R+DbwALMejgAUcBcw1rfuLzgY6AwM8wgHM8QxkjNkCbPJ4PZw4lVJKKaWUUiohUr4gZ4xpxmoVqwG+wirUzcBK+ynGGM8Wud5AsY9oXNv29AhHgLB7ejwPNU43ESkP9AcU+IhPKaWUUkoppUKS8gU5206s8WzDsCY9uRMYCHwuIjke4fKABh/vr/d43fN/f2HzPJ6HGqdSSimllFJKJUSyJzsJSkQKsGaNHGaMecFj+xxgMtZkI2/am+uAHO84gFyP1z3/9xfWs5Uv1Djd/M0s46KtckoppZRSSqlopEOL3BVAL6xulW7GmJ+ASuAkj83F7Oo26cm1bYtHOAKE3eLxPNQ4lVJKKaVUG6Bryql0kA4FuV72/5meG0VE7G2erYoLgGPs1zwdD1RjrVfnCgdwrFece2KtUbfAY3OocSqllFJKqTSlyw+odJMOBblV9v9/8Np+MdAJa+ycy+dYk49c4togIj2BK4ExxpgmAGPMUmAFcL2IeBYQBwNOYFS4cSqllFJKKaVUoiR9jJyI3G8/PMj+/68i8hug3BjzEtai30uBoSKyLzALa6KTW4DN7FoMHKxC10zgXRF5GigFbsIqsD7otet/Y3XXHC8inwCH2nG+boxZ5REunDiVUkoppVSa056VKh0kvSAHPOz1/G/2/0XAS8aYRhE5GfgvcCHwZ6AK+BK41xizw/VGY4xDRC4AngL+iTWj5GzgamNMiy6QxpixInI5MAQYDpQAj3inJ5w4lUpHSzZX8MW8zdx46n7s3iU3+BuUUkqpNk57Wap0kPSCnDEm6G/FGLMTuMP+CyXsdfZfsLCjgdGxjFOpdPPb4dMAWLy5nM9uPDHJqVFKqcRoaHJQXFFPz/wc8nOTnh1SSqmwpcMYOaVUAvxSuDPZSVBtyIMPPkjrOaLajsLCQkSEkSNHJjspKcXX9y4iPPjgg8lJUADrS2uorG9iXWl1spOilFIR0YKcUkoppdqdRocz2UlQSqmoaF8CpZRSSsVNXV0dHTpodkOlPl07TqUbvbIqpZRSKm5yc3USJaWUigftWqmUUioq06ZN41e/+hW5ubn079+f119/3We4ESNGcPTRR5OXl0fPnj255ppr2LZtW4sw/fr149JLL2XChAnusEcffTSzZ88G4J133mH//fcnNzeXU089lfXr17d4/9SpU7nyyivp27cvOTk57L333tx+++3U1dW1CDdo0CC6du3Kxo0bufjii8nPz2e33XbjzjvvxOFwtAhbXl7OoEGDKCgooGvXrlxzzTWUl5dHdKzq6uq4//772W+//cjJyWGfffbhgQceoLm5GQBjDKeddhq9e/dmxw73pMzU1tYycOBADjvsMBobG1t8hjVr1nD22WfTqVMn9t57b5588slW+3366ac58cQT6dGjB3l5eRxzzDF8/vnnrcKJCLfddhujRo3ikEMOIScnh0MOOYTvvvuuVdhQv3fvMXKucXTr16/n6quvpqCggIKCAq699lpqa2tbHa9//vOf9OzZk86dO3PxxRezefPmsMfducY0Pv/88zz//PP069eP4/fvwy2DrmJHWSnNzc3cfffd9OrVi/z8fAYNGkR9fX2reEI5h8eMGcOFF17InnvuSU5ODv379+fhhx9udV6ddtppHHnkkSxZsoTTTjuNjh070qdPH5/fn0qMNjysV7VR2iKnlFKJ5miGys3JTsUuXfpAZmS3g8WLF3POOeew++67M3ToUJqamhgyZAi9evVqEW7o0KE89NBD/PGPf+T666+nuLiYF154gV9++YW5c+eSl5fnDrtixQquvvpqBg8ezF/+8hcef/xxfvvb3zJs2DCefPJJbrjhBiorK3niiSe47rrrmDhxovu9n332GbW1tQwePJgePXowe/Zshg8fzqZNm/jss89apKmpqYlzzjmHk046iaeffpoJEybwzDPP0L9/fwYPHgxYBatLLrmEadOmMXjwYA488EC+/PJLrrnmmrCPldPp5KKLLmLWrFnccMMN7L///sydO5dHH32UjRs3MmLECESEESNGcNhhh3HLLbfw4YcfAnDPPfdQWFjI7Nmzyc7ObvEZzjvvPE4++WSefPJJxo4dy9133w3AXXfd5Q73wgsvcPHFF/PnP/+ZxsZGPv74Y6688krGjh3LhRde2CKdP/30E5999hk33XQT+fn5vPjii1xxxRVs2LCBHj16hPW9B3LFFVfQv39/Hn/8cebNm8f//vc/dt99d5544gl3mEGDBvHpp59yzTXXcNxxx/HTTz+1Sm84Ro4cicPh4LbbbmPR6kLeff0lHrjjJg4euB9r167lgQce4JdffuGdd96hf//+/Pe//3W/N9RzeOTIkeTn53PHHXeQn5/Pjz/+yAMPPEBlZSVPPfVUi/SUlZVx3nnnceWVV3LVVVfx2Wefcffdd3PYYYdx/vnnR/w5lVLthDFG/xL8B5QXFBQYl33uHuv+UyrR9PyLr8LCQlNYWNhy445CY4Z0SZ2/HYW+Ex+CSy+91HTs2NFs2rTJvW3ZsmUmMzPTWLcYY9avX28yMzPN008/3eK9M2bMMCJiXn31Vfe2ffbZxwBm1qxZ7m2ffPKJAUy3bt1MaWmpe/u9995rALNhwwb3ttra2lZpHDZsmBERU1RU5N52zTXXGMA89thjLcIeddRR5phjjnE/Hz16tAHMs88+697W3NxsTj75ZAOYESNGBD1GLu+++67JzMw0M2fObLH98ccfN4BZvny5e9vLL79sAPP555+byZMnGxExDzzwQIv3uT7DHXfc4d7mcDjMmWeeafLz801VVZV7u/dxaWxsNIceeqg544wzWmwHTE5Ojlm3bp1728KFCw1ghg8f7t4WyvfuGeeQIUPcz4cMGWIAc/3117cId9lll5kePXq4n8+dO9cA5s4772wRbtCgQa3iDGb9+vUGMHvssYeprKy0PtfGneb3f/2bAcypp55qnE6nO/wJJ5xg9ttvvxbvD/Uc9nUO3nDDDaZjx46mvr7eve3UU081gPnwww/d2xoaGswee+xhrrjiioCfx+d1RYXF897nuv8tL65wPx+3aEuSU6iUMQUFBQYoN37KFNq1UimlVEQcDgfjx4/n8ssvp0+fPu7tBx10EOeee677+Zdffokxhssvv5zS0lL334ABA+jduzeTJ09uEe/hhx/Occcd535+/PHHA3DxxRe7W4Q8t3t2r/Rs2aupqaG0tJQTTzwRYwzz589v9RluuOGGFs9PPvlk1q1b534+btw4srOzW4TLzMzk1ltvDXxwfPj888859NBD6d+/f4vjcOaZZwK0OA6DBw/mzDPPZPDgwVx77bUcccQR3H///T7jvfnmm92PMzIyGDx4MNXV1UybNs293fO47Ny5k4qKCk4++WTmzZvXKr5zzz2Xfffd1/388MMPp0uXLu7jEur3HsyNN97Y4vnJJ59MWVkZlZWVAO7unDfddFOLcJEce5ff//73dO7c2f38sKOOBayWP89lE44//ng2bNiA02nNbBnOOex5rKuqqigtLeXkk0+mtraWFStWtEhPQUEBf/jDH9zPs7OzOe6441qcgypxdLITlW60a6VSSiValz7wf4uSnYpduvQJHsaHkpIS6urqGDhwYKvXDjjgAMaNGwfA6tWrcTqd7Lfffn7j8dS3b98WzwsKCgDYe++9fW7fuXPXGogbNmzggQce4KuvvmqxHaCioqLF8/z8fLp3795iW7du3Vq8r6ioiD59+tCxY8dWny9cq1evZvny5ey2224+X/c8DiLCW2+9xYABAygrK2PevHlkZWW1ek+HDh3o169fi22u76OwsNC9bezYsTzyyCMsWLCAhoaGFvvx5n38oeVxCfV7D8Z7P926dQOs77NLly4UFRXRoUMH9tlnnxbhBgwYEFL8oewzv3MXwPe51dzcTFVVFQUFBWGdw0uXLuX+++/nxx9/dBdKXbzPwb333rvVd9CtWzcWLUqh60M7pePlVDrQgpxSSiVaZgfotk/wcG2E0+kkMzOTb7/91mfBwZWBd8nMzPQZj7/txq5GdzgcnH322ezYsYO7776bAw88kE6dOrF582YGDRrkbl0JFl+8OJ1OjjrqKL+TWXgXEn744Qf3JCjLly/niCOOiGi/U6dO5eKLL+aUU07hlVdeoXfv3mRlZTFixAj3GDxPwY5zrCRqP6HsM1haQj2Hy8vLOfXUU+nSpQsPPfQQ/fv3Jzc3l3nz5nH33XeHfA7G8xgopdoOLcgppZSKyG677UZeXh6rV69u9drKlSvdj/v374/D4WDgwIGtWo9iafHixaxatYp33nmHq6++2r19woQJEce5zz77MGnSJGpra1u0ynl+vlD179+fpUuXctZZZwUNu3HjRu644w4uvfRSKioquOWWWzjjjDPYfffdW4Rrbm6msLCwRSHQ9X24WrJGjRpFbm4u48ePJycnxx1uxIgRYX8GCP17j9Y+++xDc3MzRUVFLbp6rlmzJmb7CFWo5/DkyZMpKyvjiy++4JRTTnFv955dVaU+LUurdKBj5JRSSkUkMzOTc889ly+++ILNm3fNwrl8+XLGjx/vfn7ZZZeRkZHBQw891CoOp9PZYpr9aNMDLVszjDG88MILEcd5wQUX0NjY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\n",
      "text/plain": [
       "<Figure size 1008x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = df.loc[:, [\"demand\", \"demand_expanding_mean\"]].plot(figsize=[14, 7])\n",
    "ax.set_title(\"Expanding window mean of electricity demand\")\n",
    "ax.set_ylabel(\"Electricity demand\")\n",
    "ax.set_xlabel(\"Time\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "962fb81d-fb95-4747-9a85-1465b7eb3aad",
   "metadata": {},
   "source": [
    "We can see that the expanding mean is more volatile at the start when there is less data but it then quickly stabilises as the window gets larger and larger."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d71910e0-944c-4644-912c-04763151e4dd",
   "metadata": {},
   "source": [
    "In practice, expanding windows are used less often than rolling windows because the most recent time periods tend to be more useful for forecasting. Exponential weights are normally combined with expanding windows to give more weight to recent data. We'll explore this in notebook 4.\n",
    "\n",
    "This demonstrates how we can compute expanding window statistics using different libraries. "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
